﻿<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>DN_EDITCHANGE</title>
<meta http-equiv="Content-Type" Content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="../../../styles/styles.css">
<script language="javascript" src='../../links.js' type="text/javascript"></script>
</head>
<body>

<h1>DN_EDITCHANGE</h1>
<div class=navbar>
<a href="../../index.html">главная</a> |
<a href="index_dn.html">события</a> |
<a href="../index.html">Dialog API</a>
</div>

<div class=shortdescr>
Сообщение <code>DN_EDITCHANGE</code> оповещает обработчик об изменении состояния редактируемого элемента диалога - например, ввели символ.
</div>

<h3>Param1</h3>
<div class=descr>
ID элемента диалога.
</div>

<h3>Param2</h3>
<div class=descr>
Указатель на структуру <a href="../../structures/fardialogitem.html">FarDialogItem</a>, описывающую изменённый элемент.
</div>

<h3>Return</h3>
<div class=descr>
В текущем Dialog API результат игнорируется, но для обеспечения работоспособности плагина с будущими версиями Dialog API рекомендуется возвращать:
<ul>
<li><code>TRUE</code>  - "подтверждаю изменения"
<li><code>FALSE</code> - "изменения в окне редактирования не принимаются"
</ul>
</div>

<h3>Элементы</h3>
<div class=descr>
<table class="cont">
<tr class="cont"><th class="cont" width="40%">Элемент</th><th class="cont" width="60%">Описание</th></tr>
<tr class="cont"><td class="cont" width="40%"><a href="../controls/di_combobox.html">DI_COMBOBOX</a></td>
<td class="cont" width="60%">комбинированный список</td></tr>
<tr class="cont"><td class="cont" width="40%"><a href="../controls/di_edit.html">DI_EDIT</a></td>
<td class="cont" width="60%">строка ввода</td></tr>
<tr class="cont"><td class="cont" width="40%"><a href="../controls/di_fixedit.html">DI_FIXEDIT</a></td>
<td class="cont" width="60%">поле ввода фиксированного размера</td></tr>
<tr class="cont"><td class="cont" width="40%"><a href="../controls/di_pswedit.html">DI_PSWEDIT</a></td>
<td class="cont" width="60%">поле ввода пароля</td></tr>
</table>
</div>

<h3>Замечания</h3>
<div class=descr>
В Dialog API нельзя принудительно изменить состояние элемента, изменяя элементы структуры <a href="../../structures/fardialogitem.html">FarDialogItem</a>.
</div>

<h3>Пример</h3>
<div class=descr>
<pre class=code>
...
// отобразить копию введённых данных только для чисел
if (Msg == DN_EDITCHANGE &amp;&amp; Param1 == 2)
{
  FarDialogItem *Item=(FarDialogItem *)Param2;
  int Len=wcslen(Item-&gt;PtrData);
  for(int I=0; I &lt; Len; ++I)
    if(!isdigit(Item-&gt;PtrData[I]))
      break;
  if(I == Len)
    return FALSE;
  Info.SendDlgMessage(hDlg, DM_SETTEXTPTR, 3, Item-&gt;PtrData);
  return TRUE;
}
...
</pre>
</div>


<div class=see>Смотрите также:</div>
<div class=seecont>
<a href="../../service_functions/dialoginit.html">DialogInit</a>
</div>

</body>
</html>
